package genetic.individual.fitness;

import dk.itu.mario.level.Level;

public final class MarioIndividualFitnessPatterns extends Level{
	
	// BLOCOS: 
	public static final int chao  = 0;
	public static final int gomba = 1;
	public static final int greenKOOPA = 2;
	public static final int redKOOPA = 3;
	public static final int parede = 4;
	public static final int parede2 = 5;
	public static final int surpresa = 6;
	public static final int surpresah = 7;
	public static final int surpresa2 = 8;
	public static final int cano = 9;
	public static final int canoF = 10;
	public static final int pedra1 = 11;
	public static final int pedra2 = 12;
	public static final int pedra3 = 13;
	public static final int pedra4 = 14;
	public static final int buraco = 15;
	public static final int chao1 = 16;
	public static final int chao2 = 17;
	
	//Padões :
	//INIMIGOS
	public static int[] ENEMY1 = {chao,gomba,chao};
	public static int[] ENEMY2 = {chao,greenKOOPA,chao};
	public static int[] ENEMY3 = {chao,redKOOPA,chao};
	public static int[] THREEHORDE1 = {chao,greenKOOPA,greenKOOPA,greenKOOPA,chao};
	public static int[] THREEHORDE2 = {chao,redKOOPA,redKOOPA,redKOOPA,chao};
	public static int[] THREEHORDE3 = {chao,gomba,gomba,gomba,chao};
	
	//CAMINHOS
	public static int[] TWOWAY1 = {chao,parede,parede,surpresa,parede,chao};
	public static int[] TWOWAY2 = {chao,parede,parede,parede,parede,chao};
	public static int[] TWOWAY3 = {chao,parede,surpresah,surpresa,parede,chao};
	public static int[] TWOWAY4 = {chao,surpresa,chao,surpresa2,chao,surpresa,chao};
	public static int[] GAP = {chao,buraco,buraco,buraco,chao};
	public static int[] STAIRUP = {chao,pedra1,pedra2,pedra3,pedra4};
	public static int[] STAIRDOWN = {pedra4,pedra3,pedra2,pedra1,chao};
	public static int[] PIPES = {chao,cano,chao,chao,canoF,chao};
	public static int[] HIGHGROUND1 = {chao1,chao1,chao1,chao1};
	public static int[] HIGHGROUND2 = {chao2,chao2,chao2,chao2};
	
	public static int[][] PATTERNS = {ENEMY1, ENEMY2, ENEMY3, THREEHORDE1, THREEHORDE2, THREEHORDE3, TWOWAY1, TWOWAY2, TWOWAY3,
		TWOWAY4, GAP, STAIRDOWN, STAIRUP, PIPES, HIGHGROUND1, HIGHGROUND2};
	
	public static int[] WEIGHTS = {1, 1, 1, 3, 3, 3, 5, 5, 5, 5, 6, 4, 4, 4, 3, 3};
//	public static int[] WEIGHTS = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};

}
